#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File   : tsTcpServ.py.py
# @Email  : xuexia_xu@feidee.com
# @Time   : 2024/4/3 17:09
# @Desc   : 《Python核心编程第3版》示例 2-1 TCP 时间戳服务器

from socket import *
from time import ctime

HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
# 创建服务器套接字
tcpSerSock = socket(AF_INET, SOCK_STREAM)
# 套接字与地址绑定
tcpSerSock.bind(ADDR)
# 监听连接,传入连接请求的最大数目前设置为5
tcpSerSock.listen(5)

while True:
    print("waiting for connection...")
    # 接受客户端连接
    tcpCliSock, addr = tcpSerSock.accept()
    print("...conected from:", addr)

    while True:
        # 对话（接收/发送）
        data = tcpCliSock.recv(BUFSIZ)
        print("服务端收到：", data.decode())
        data_send = input('>')
        # if not data:
        #     break
        # 对话（接收/发送）
        tcpCliSock.send(b'[%s] %s' % (bytes(ctime(), 'utf-8'), data_send.encode('utf-8')))
    # 关闭客户端套接字
    tcpCliSock.close()
# 关闭服务器套接字#（可选）
tcpSerSock.close()
